package com.wangijun.yuan.web.util;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.RandomUtil;

import java.time.LocalDateTime;

/**
 * 功能描述: 需要封装的工具类
 *
 * @author wlf 2024/3/22 15:49
 */
public class YuanWebUtil {

    /**
     * 功能描述: 获取长度为6的随机数字字符
     *
     * @author wlf 2024/3/22 15:51
     */
    public static String randNumStr(int length) {
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < length; i++) {
            temp.append(RandomUtil.randomInt(10));
        }
        return temp.toString();
    }


    /**
     * 功能描述: 相对时间
     * 类似几天前，这种
     *
     * @author wlf 2024/4/12 22:05
     */
    public static String dateRelative(LocalDateTime date) {
        long time = DateUtil.date(date).getTime() / 1000;
        long l = DateUtil.currentSeconds();
        long l1 = l - time;
        if (l1 < 0) {
            l1 = 0;
        }
        if (l1 < 60) {
            return l1 + "秒前";
        }
        if (60 < l1 && l1 < (60 * 60)) {
            return l1 / 60 + "分钟前";
        }
        if ((60 * 60) < l1 && l1 < (60 * 60 * 24)) {
            return l1 / (60 * 60) + "小时前";
        }
        if ((60 * 60 * 24) < l1 && l1 < (60 * 60 * 24 * 7)) {
            return l1 / (60 * 60 * 24) + "天前";
        }
        if ((60 * 60 * 24 * 7) < l1 && l1 < (60 * 60 * 24 * 30)) {
            return l1 / (60 * 60 * 24 * 7) + "周前";
        }
        if ((60 * 60 * 24 * 30) < l1 && l1 < (60 * 60 * 24 * 30 * 12)) {
            return l1 / (60 * 60 * 24 * 30) + "月前";
        }
        // 超过一年前的，直接显示日期
       /* if ((60 * 60 * 24 * 30 * 12) < l1 && l1 < (60 * 60 * 24 * 30 * 12 * 3)) {
            return l1 / (60 * 60 * 24 * 30 * 12) + "年前";
        }*/
        // 到这里就直接返回真实时间了
        return DateUtil.date(date).toString(DatePattern.NORM_DATETIME_PATTERN);
    }

    /*校验密码*/
    public static boolean checkPd(String pd) {
        return Validator.isGeneral(pd, 8);
    }

    public static void main(String[] args) {
        System.out.println(checkPd("1234  5631"));
    }
}
